// JavaScript Document
var caja_hidden;
var TABLE;
var TROW;
var caja_texo;
//caja del buscar, lo utilizo para el enfoque y volve el valor en blanco
var nume_fila;
var array_total_farmacia=new Array();
var array_dcto_generico_farmacia=new Array();
var array_dcto_comercial_farmacia=new Array();
var array_dcto_externo_farmacia=new Array();
var array_coaseguro=new Array();
var array_descuento=new Array();
var array_igv=new Array();
var array_ttotal=new Array();
var array_gc=new Array();
var array_vafecto_f=new Array();
var array_vinafecto_f=new Array();
var array_generico=new Array();
var array_igv_coaseguro=new Array();
var array_vNogc_f=new Array();
var array_igv_gnc_f=new Array();
var array_coaseguro_afecto=new Array();
var array_coaseguro_inafecto=new Array();
var array_gnc_afecto=new Array();
var array_gnc_inafecto=new Array();
var array_gc_inafecto=new Array();
var array_gc_afecto=new Array();
//var array_precio_dscto=new Array();
//var array;
//caja del numero de filas inicial
//var adatos;
//busca rapida=contenido de la concatenacion de id mas datos
//tabla (base), nombre de la tabla
//fila (td)
function carga(caja_dato_concatenado,tabla,fila,caja_buscar,nume_fila_inicial,adatos){

	caja_hidden = document.getElementsByName(caja_dato_concatenado).item(0);

	TABLE = document.getElementById(tabla);

	TROW = document.getElementById(fila);

	caja_texo = document.getElementsByName(caja_buscar).item(0);

	nume_fila = document.getElementsByName(nume_fila_inicial).item(0);

	adatos=adatos;

	//alert(caja_hidden + TABLE + TROW + caja_texo + nume_fila + nume_fila + datos);
}


function agregafila(caja_dato_concatenado,tabla,fila,caja_buscar,nume_fila_inicial,adatos){
	carga(caja_dato_concatenado,tabla,fila,caja_buscar,nume_fila_inicial,adatos);
	//elemento caja
	//var caja_hidden = document.getElementsByName('busca_rapida').item(0);
	//valor del elemento de la caja

	var hidden=caja_hidden.value;

   if(hidden){

		//TABLE = document.getElementById("base");

		//var TROW = document.getElementById("example");
	    //content contiene todos los tds (columnas de las tablas)
		var content = TROW.getElementsByTagName("td");

		var newRow = TABLE.insertRow(-1);

    	copyRow(content,newRow,adatos);
    }
}
function hacer_calculo_farmacia(){
	//subtotal es la suma de los productos, estos pueden ir incluyendo igv o sin incluir
	//los descuentos son de 3 tipos, y estos van sin incluir el igv
	//valor venta en la suma de las bases imponibles tanto la afecta como inafecta, estas ya tienen el descuento
	//
   
	var igv=document.getElementById('igv');
	var subtotal=document.getElementById('subtotal');
	var totalt=document.getElementById('totalt');
	var dcto_generico=document.getElementById('dcto_generico');
	var dcto_comercial=document.getElementById('dcto_comercial');
	var dcto_coaseguro=document.getElementById('dcto_coaseguro');
    var dcto_coaseguro_afecto=document.getElementById('dcto_coaseguro_afecto');
    var dcto_coaseguro_inafecto=document.getElementById('dcto_coaseguro_inafecto');
	var dcto_externo=document.getElementById('dcto_externo');
	var valor_afecto=document.getElementById('valor_afecto');
	var valor_inafecto=document.getElementById('valor_inafecto');
	var dcto_tfarma=document.getElementById('dcto_tfarma');
	var porc_igv=parseFloat(document.getElementById('porc_igv').value);
	var pago_paciente=document.getElementById('pago_paciente');
	var total_aseguradora=document.getElementById('total_aseguradora');
	//var valor_afecto=document.getElementById('valor_afecto');
	//var valor_inafecto=document.getElementById('valor_inafecto');
	var nivel_comercial=document.getElementById('nivel_comercial');
	var nivel_generico=document.getElementById('nivel_generico');
	var igv_paciente=document.getElementById('igv_paciente');
	var monto_afecto_paciente=document.getElementById('monto_afecto_paciente');
	var monto_inafecto_paciente=document.getElementById('monto_inafecto_paciente');
	var monto_afecto_cubierto=document.getElementById('monto_afecto_cubierto');
	var monto_inafecto_cubierto=document.getElementById('monto_inafecto_cubierto');
	var i;
	var a_subtotal=0;
	var a_total=0;
	var a_tdcto=0;
	var a_dcto_generico_f=0;
	var a_dcto_comercial_f=0;
	var a_dcto_coaseguro_f=0;
	var a_dcto_externo_f=0;
	var a_valor_afecto_f=0;
	var a_valor_inafecto_f=0;
	var a_igv_f=0;
	var a_totalt_f=0;
	var a_vgc_f=0;
	var a_vNogc_f=0;
	var a_generico=0;
	var a_igv_coaseguro=0;
	var a_igv_gnc=0;
	var a_coaseguro_afecto=0;
	var a_coaseguro_inafecto=0;
	var a_gnc_afecto=0
	var a_gnc_inafecto=0;
    var a_gc_afecto=0;
    var a_gc_inafecto=0;
    //el coaseguro lo calculo por cada elemento
    //debugger;
	for(i=0;i<=array_total_farmacia.length;i++){

		if(array_total_farmacia[i]){

            a_subtotal=	a_subtotal+redondeo2decimales(array_total_farmacia[i]); //con igv
			a_dcto_generico_f=a_dcto_generico_f+redondeo4decimales(array_dcto_generico_farmacia[i]); //con igv
			a_dcto_comercial_f=a_dcto_comercial_f+redondeo4decimales(array_dcto_comercial_farmacia[i]);
			a_dcto_externo_f=a_dcto_externo_f+redondeo4decimales(array_dcto_externo_farmacia[i]);
			a_dcto_coaseguro_f=a_dcto_coaseguro_f+redondeo4decimales(array_coaseguro[i]);
			a_igv_f=a_igv_f+redondeo4decimales(array_igv[i]);
			a_vNogc_f=a_vNogc_f+redondeo4decimales(array_vNogc_f[i]);
			//a_totalt_f=a_totalt_f+(array_ttotal[i]);
			a_valor_afecto_f=a_valor_afecto_f+redondeo4decimales(array_vafecto_f[i]);
			a_valor_inafecto_f=a_valor_inafecto_f+redondeo4decimales(array_vinafecto_f[i]);
			//a_tdcto=a_tdcto+redondeo2decimales(array_descuento[i]);
			a_generico=a_generico+redondeo4decimales(array_generico[i]);
			a_igv_coaseguro=a_igv_coaseguro+redondeo4decimales(array_igv_coaseguro[i]);
			a_igv_gnc=a_igv_gnc+redondeo4decimales(array_igv_gnc_f[i]);
			//paciente
			a_coaseguro_afecto=a_coaseguro_afecto+redondeo4decimales(array_coaseguro_afecto[i]);
			a_coaseguro_inafecto=a_coaseguro_inafecto+redondeo4decimales(array_coaseguro_inafecto[i]);
			a_gnc_afecto=a_gnc_afecto+redondeo4decimales(array_gnc_afecto[i]);
			a_gnc_inafecto=a_gnc_inafecto+redondeo4decimales(array_gnc_inafecto[i]);
            a_gc_afecto=a_gc_afecto+redondeo4decimales(array_gc_afecto[i]);
            a_gc_inafecto=a_gc_inafecto+redondeo4decimales(array_gc_inafecto[i]);
			//alert("i"+i);
			//alert(array_igv_gnc_f[i]);
			//p_paciente=p_paciente + (array_vNogc_f[i]-array_descuento[i]);
            //debugger;
		}

	}
   
	subtotal.value=redondeo4decimales(a_subtotal);

    a_generico=redondeo2decimales(a_generico);
	var por_generico=(a_generico/subtotal.value)*100;
	nivel_generico.innerHTML=redondeo2decimales(por_generico)+'%';
	nivel_comercial.innerHTML=redondeo2decimales(100-por_generico)+'%';
    //a_vNogc_f=redondeo2decimales(a_vNogc_f);
	//var v_gc=a_subtotal-a_vNogc_f;
	dcto_generico.value=redondeo4decimales(a_dcto_generico_f);
	dcto_comercial.value=redondeo4decimales(a_dcto_comercial_f);
	dcto_externo.value=redondeo4decimales(a_dcto_externo_f);
	dcto_tfarma.value=redondeo4decimales(a_dcto_generico_f+a_dcto_comercial_f+a_dcto_externo_f);
    //debugger;
    a_subtotal=a_subtotal-(parseFloat(dcto_tfarma.value));

	//igv.value=redondeo2decimales(a_igv_f); //acomodar cuando existen inafectos
    //a_totalt_f=redondeo2decimales(subtotal.value)-(parseFloat(dcto_tfarma.value))// cambio +redondeo2decimales(igv.value);
	
	valor_afecto.value=redondeo4decimales(redondeo4decimales(a_valor_afecto_f)/(1+parseFloat(porc_igv)/100));
	valor_inafecto.value=redondeo4decimales(a_valor_inafecto_f);
    a_totalt_f=redondeo4decimales(parseFloat(valor_afecto.value)*(1+parseFloat(porc_igv/100))+parseFloat(valor_inafecto.value));
    igv.value=redondeo4decimales(parseFloat(a_totalt_f)-parseFloat(valor_afecto.value)-parseFloat(valor_inafecto.value));
    totalt.value=redondeo2decimales(a_totalt_f);
	//esta linea calcula el ig por cada uno de los productos truncando los valores,eso no permitira cuadrar los totales 
	//p_paciente=redondeo2decimales((a_dcto_coaseguro_f+a_vNogc_f-a_dcto_externo_f)); //CAMBIO
    //debugger;
	//igv_paciente.value=redondeo2decimales(a_igv_coaseguro+a_igv_gnc);
    //coaseguro
	//dcto_coaseguro.value=redondeo2decimales(a_dcto_coaseguro_f);//no lo puedo dividir pues tiene afectos e inafectos
    dcto_coaseguro_afecto.value=redondeo4decimales(redondeo2decimales(a_coaseguro_afecto)/(1+parseFloat(porc_igv)/100));
    dcto_coaseguro_inafecto.value=redondeo4decimales(redondeo2decimales(a_coaseguro_inafecto));//redondeo4decimales(a_coaseguro_inafecto)
    //dcto_coaseguro.value=redondeo2decimales(redondeo4decimales(a_coaseguro_afecto)+redondeo4decimales(a_coaseguro_inafecto));
    //es importante xq de aki saco para las boletas y facturas
    //si varia el coaseguro debe variar el paciente son los mismos cuando todo esta cubierto
    //he colocado el redondeo entre 4 para que cuadre con los no cubiertos 
    dcto_coaseguro.value=redondeo2decimales(redondeo4decimales(redondeo4decimales(parseFloat(dcto_coaseguro_afecto.value))*(1+parseFloat(porc_igv/100)))+redondeo4decimales(parseFloat(dcto_coaseguro_inafecto.value)));
    //monto_afecto_paciente.value=redondeo4decimales(parseFloat(dcto_coaseguro_afecto.value)+redondeo4decimales(a_gnc_afecto/(1+parseFloat(porc_igv/100))));
    //paciente
    //lo anterior es falso pues lo necesito para que cuadre exactamente en muchas cifras
	//monto_afecto_paciente.value=redondeo4decimales((a_coaseguro_afecto+a_gnc_afecto)/(1+parseFloat(porc_igv/100)));
	monto_inafecto_paciente.value=redondeo4decimales(redondeo4decimales(a_coaseguro_inafecto)+a_gnc_inafecto);
    monto_afecto_paciente.value=redondeo4decimales((redondeo2decimales(a_coaseguro_afecto)+a_gnc_afecto)/(1+parseFloat(porc_igv/100)));

    p_paciente=redondeo2decimales(redondeo4decimales(redondeo4decimales(parseFloat(monto_afecto_paciente.value))*(1+parseFloat(porc_igv/100)))+redondeo4decimales(parseFloat(monto_inafecto_paciente.value)));
    //p_paciente=redondeo2decimales(redondeo4decimales((redondeo4decimales(a_coaseguro_afecto)+a_gnc_afecto))+redondeo4decimales(parseFloat(monto_inafecto_paciente.value)));

   igv_paciente.value=redondeo2decimales(parseFloat(p_paciente)-parseFloat(monto_afecto_paciente.value)-parseFloat(monto_inafecto_paciente.value));
    //    igv_paciente.value=redondeo2decimales(parseFloat(p_paciente)-redondeo2decimales(parseFloat(monto_afecto_paciente.value))-redondeo2decimales(parseFloat(monto_inafecto_paciente.value)));

    //debugger;
    //-a_coaseguro_afecto
    monto_inafecto_cubierto.value=redondeo4decimales(a_gc_inafecto);
    monto_afecto_cubierto.value=redondeo4decimales((a_gc_afecto)/(1+(porc_igv/100)));
	pago_paciente.value=p_paciente;
	total_aseguradora.value=redondeo4decimales(a_totalt_f-p_paciente);
	calcula_vuelto();
	//debugger;
}

function recal_dscto_externo(){
	var gc;
	var porc_dcto_externo=document.getElementById('porc_dcto_externo');
	var afe;
	var porc_igv=document.getElementById('porc_igv');
	for(i=0;i<array_total_farmacia.length;i++){

		if(array_total_farmacia[i]){
			gc=document.getElementById("gc["+i+"]").value;
			afe=parseFloat(document.getElementById("afe["+i+"]").value);
			if(gc==0)
			{			//array_descuento[i]=array_descuento[i]+parseFloat(array_dcto_comercial_farmacia[i])+parseFloat(array_dcto_generico_farmacia[i])+parseFloat(array_dcto_externo_farmacia[i]); //suma lo que tenia
				array_dcto_externo_farmacia[i]=descuento(porc_dcto_externo.value,array_total_farmacia[i]);
				//array_descuento[i]=array_descuento[i]-array_dcto_externo_farmacia[i];
				array_descuento[i]=array_total_farmacia[i]-array_dcto_externo_farmacia[i];
				array_igv[i]=((array_descuento[i]*(parseFloat(porc_igv.value))/100)/(1+(parseFloat(porc_igv.value)/100)))*afe;	//tiene el afecto que indica si es afecto o no
                array_ttotal[i]=array_descuento[i]*(1+((parseFloat(porc_igv.value)/100)*afe));
				array_igv_gnc_f[i]=((array_descuento[i]*(parseFloat(porc_igv.value))/100)/(1+(parseFloat(porc_igv.value)/100)))*afe; //igv gasto no cubierto

				if(afe==1)
				{
					array_vafecto_f[i]=array_descuento[i];
					array_vinafecto_f[i]=0;
                    array_gnc_afecto[i]= array_vNogc_f[i]-descuento(porc_dcto_externo.value,array_vNogc_f[i]);
				}else{
					array_vafecto_f[i]=0;
					array_vinafecto_f[i]=array_descuento[i];
                    array_gnc_inafecto[i]= array_vNogc_f[i]-descuento(porc_dcto_externo.value,array_vNogc_f[i]);

				}
			}
		}
	}
	hacer_calculo_farmacia()
}
function calcula_edita_farmacia(){

	var obj_tabla = document.getElementById('base');
	var tabla_cant= obj_tabla.getElementsByTagName('tr');

	for(i=0;i<tabla_cant.length-1;i++){

		calula_farmacia(i);
	}

}
function calula_farmacia(elemento){
	//monto=celda.value;
	//elementos
    //va calculando descuentos individuales
	var cantidad=document.getElementById("cantidad["+elemento+"]");
    
    var producto_monto_coaseguro=document.getElementById("producto_monto_coaseguro["+elemento+"]");
	var precio=document.getElementById("precio["+elemento+"]");
	var total=document.getElementById("total["+elemento+"]");
	var tiene_igv=document.getElementById("afe["+elemento+"]");
	var generico=document.getElementById("generico["+elemento+"]");
	var gc=document.getElementById("gc["+elemento+"]");
	var afe=document.getElementById("afe["+elemento+"]");
	var precio_producto_descuento=document.getElementById("precio_producto_descuento["+elemento+"]");
	var producto_descuento=document.getElementById("producto_descuento["+elemento+"]");
	//valores de la admision
	var porc_dcto_generico=document.getElementById('porc_dcto_generico');
	var porc_dcto_comercial=document.getElementById('porc_dcto_comercial');
	var porc_dcto_coaseguro=document.getElementById('porc_dcto_coaseguro');
	var porc_igv=document.getElementById('porc_igv');
	var porc_dcto_externo=document.getElementById('porc_dcto_externo');
	var es_asegurado=document.getElementById('es_asegurado');
	//valores finales
	var igv=document.getElementById('igv');
	var subtotal=document.getElementById('subtotal');
	var totalt=document.getElementById('totalt');
	var dcto_generico=document.getElementById('dcto_generico');
	var dcto_comercial=document.getElementById('dcto_comercial');
	var dcto_coaseguro=document.getElementById('dcto_coaseguro');
	var dcto_externo=document.getElementById('dcto_externo');
	var valor_afecto=document.getElementById('valor_afecto');
	var valor_inafecto=document.getElementById('valor_inafecto');
	//valores

	var v_cantidad=cantidad.value;
	var v_precio=precio.value;
	var v_total=total.value;
	var a_precio_dscto;

	//inicializacion
	if(subtotal.value=="" || subtotal.value<0){subtotal.value=0;}
	if(igv.value==""){
		igv.value=0;
	}
	if(totalt.value==""){
		totalt.value=0;
	}
	if(porc_dcto_generico.value==""){
		porc_dcto_generico.value=0;
	}
	if(dcto_generico.value==""){
		dcto_generico.value=0;
	}
	if(porc_dcto_comercial.value==""){
		porc_dcto_comercial.value=0;
	}
	if(porc_dcto_coaseguro.value==""){
		porc_dcto_coaseguro.value=0;
		}

	if(dcto_comercial.value==""){
		dcto_comercial.value=0;
	}

	if(dcto_coaseguro.value==""){
		dcto_coaseguro.value=0;
	}

	if(dcto_externo.value==""){
		dcto_externo.value=0;
	}

	if(valor_inafecto.value==""){
		valor_inafecto.value=0;
	}
	if(subtotal.value==""){
		subtotal.value=0;
	}


	array_total_farmacia[elemento]=(v_cantidad*v_precio); //ya tiene IGV
	total.value= redondeo2decimales(array_total_farmacia[elemento]); //ya tiene IGV
	array_vNogc_f[elemento]=0;
	if(generico.value==1)
	{
		array_generico[elemento]=array_total_farmacia[elemento];
	}else{
		array_generico[elemento]=0;
	}

	if(es_asegurado.value==1)
	{
		if(gc.value==1)
		{
			if(generico.value==1)
			{
				array_dcto_comercial_farmacia[elemento]=0;
				array_dcto_externo_farmacia[elemento]=0;
				array_dcto_generico_farmacia[elemento]=descuento(porc_dcto_generico.value,total.value); //es el dscto
				a_precio_dscto=descuento(porc_dcto_generico.value,v_precio);
			}else
			{
				array_dcto_generico_farmacia[elemento]=0;
				array_dcto_externo_farmacia[elemento]=0;
				array_dcto_comercial_farmacia[elemento]=descuento(porc_dcto_comercial.value,total.value);
				a_precio_dscto=descuento(porc_dcto_comercial.value,v_precio);
			}

		}else
		{ //descuento de los productos no cubiertos a los asegurados
			array_vNogc_f[elemento]=array_total_farmacia[elemento]; //tiene igv
			array_dcto_comercial_farmacia[elemento]=0;
			array_dcto_generico_farmacia[elemento]=0;
			array_dcto_externo_farmacia[elemento]=descuento(porc_dcto_externo.value,total.value);
			//alert(array_dcto_externo_farmacia[elemento]);
			a_precio_dscto=descuento(porc_dcto_externo.value,v_precio);
		}

array_descuento[elemento]=(parseFloat(array_total_farmacia[elemento])-(parseFloat(array_dcto_comercial_farmacia[elemento]+parseFloat(array_dcto_generico_farmacia[elemento])))); //resto descuento pero no tengo en cuenta el descuento externo
		array_coaseguro[elemento]=gc.value*descuento(porc_dcto_coaseguro.value,array_descuento[elemento]); //calculo coaseguro, si es gasto no cubierto 0

        array_descuento[elemento]=array_descuento[elemento]-array_dcto_externo_farmacia[elemento]; // no puede afectar el coaseguro
		//sino tiene coaseguro lo que muestro es el array descuento
	}else
	{	//no asegurado
        array_gc[elemento]=0;
        array_vNogc_f[elemento]=array_total_farmacia[elemento];
        //alert(descuento(porc_dcto_externo.value,array_total_farmacia[elemento]));
        array_coaseguro[elemento]=0;
        array_dcto_comercial_farmacia[elemento]=0;
        array_dcto_generico_farmacia[elemento]=0;
        array_dcto_externo_farmacia[elemento]=descuento(porc_dcto_externo.value,total.value);
        array_descuento[elemento]=parseFloat(array_total_farmacia[elemento])-(parseFloat(array_dcto_externo_farmacia[elemento]))
       // alert(array_descuento[elemento]);
        dcto_coaseguro.value=0;
        a_precio_dscto=descuento(porc_dcto_externo.value,v_precio);


	}
	//coaseguro

	if(afe.value==1)
	{ 	//alert(array_vNogc_f[elemento]);
		if(gc.value==1)
		{
            array_gc_afecto[elemento]=array_descuento[elemento]; //cambio
			array_igv_gnc_f[elemento]=0; //igv gasto no cubierto
            array_gc_inafecto[elemento]=0;
		}else{
			array_igv_gnc_f[elemento]=(array_descuento[elemento]*(parseFloat(porc_igv.value))/100)/(1+parseFloat(porc_igv.value)/100); //igv gasto no cubierto,cambio /
            array_gc_afecto[elemento]=0;
            array_gc_inafecto[elemento]=0;
		}
		//array_igv_gnc_f[elemento]=array_vNogc_f[elemento]*(parseFloat(porc_igv.value)/100); //igv gasto no cubierto
		array_vafecto_f[elemento]=array_descuento[elemento]; //cambio /(1+parseFloat(porc_igv.value)/100)
		array_vinafecto_f[elemento]=0;
		array_igv_coaseguro[elemento]=(array_coaseguro[elemento]*(parseFloat(porc_igv.value))/100)/(1+parseFloat(porc_igv.value)/100); //cambio /
		//para calculo de paciente
		array_coaseguro_afecto[elemento]=array_coaseguro[elemento];
		array_coaseguro_inafecto[elemento]=0;

		array_gnc_afecto[elemento]= array_vNogc_f[elemento]-descuento(porc_dcto_externo.value,array_vNogc_f[elemento]);// ya con dscto
		array_gnc_inafecto[elemento]=0;
		//array_igv_gnc_f[elemento]=0;
	}else//no afectos
	{
        if(gc.value==1){
          array_gc_inafecto[elemento]=array_descuento[elemento];
          array_gc_afecto[elemento]=0;
        }else{
           array_gc_inafecto[elemento]=0;
           array_gc_afecto[elemento]=0;
        }
		array_vinafecto_f[elemento]=array_descuento[elemento];
		array_vafecto_f[elemento]=0;
		array_igv_coaseguro[elemento]=0;
		array_igv_gnc_f[elemento]=0;
		//para calculo de paciente
		array_coaseguro_afecto[elemento]=0;
		array_coaseguro_inafecto[elemento]=array_coaseguro[elemento];
		array_gnc_afecto[elemento]=0;
		array_gnc_inafecto[elemento]= array_vNogc_f[elemento]-descuento(porc_dcto_externo.value,array_vNogc_f[elemento]);
	}
	//el igv no lo calculo de forma total xq pueden haber afectos e infectos, el afe puede ser 0 u 1
	array_igv[elemento]=((array_descuento[elemento]*(parseFloat(porc_igv.value))/100)/(1+(parseFloat(porc_igv.value)/100)))*afe.value;	//cambio

	//array_ttotal[elemento]=array_descuento[elemento]*(1+((parseFloat(porc_igv.value)/100)*afe.value));	//cambio
	array_ttotal[elemento]=array_descuento[elemento];
    precio_producto_descuento.value=v_precio-redondeo2decimales(a_precio_dscto); //cambio
	//producto_descuento.value=redondeo2decimales(a_precio_dscto*v_cantidad);
    producto_descuento.value=redondeo2decimales(array_descuento[elemento]);
    producto_monto_coaseguro.value=redondeo2decimales(array_coaseguro[elemento]);

	hacer_calculo_farmacia();

	//descuentos antes del IGV

}

function cambiaUniFrac(elemento){

	var precio_fraccion=document.getElementById("precio_fraccion["+elemento+"]");
	var precio_venta=document.getElementById("precio_venta["+elemento+"]");
	var opcion=document.getElementById("opcion["+elemento+"]");
	var precio=document.getElementById("precio["+elemento+"]");

	if(opcion.value==0)
	{//unidad
		precio.value=precio_venta.value;
	}else
	{
		precio.value=precio_fraccion.value;
	}
	calula_farmacia(elemento);
}

function descuento(dcto,subtotal){

		dcto=((parseFloat(dcto)*parseFloat(subtotal))/100);

		return dcto;
}

function disminuyefila(obj,idtabla) {

	var TABLE = document.getElementById(idtabla);
	var subtotal=document.getElementById('subtotal');
	var totalt=document.getElementById('totalt');
	var dcto_generico=document.getElementById('dcto_generico');
	var dcto_comercial=document.getElementById('dcto_comercial');
	var dcto_coaseguro=document.getElementById('dcto_coaseguro');
	var dcto_externo=document.getElementById('dcto_externo');
	var valor_afecto=document.getElementById('valor_afecto');
	var valor_inafecto=document.getElementById('valor_inafecto');
	var igv=document.getElementById('igv');
	/*var array_total_farmacia=new Array();
	var array_dcto_generico_farmacia=new Array();
	var array_dcto_comercial_farmacia=new Array();
	var array_dcto_externo_farmacia=new Array();
	var array_coaseguro=new Array();
	var array_descuento=new Array();
	var array_igv=new Array();
	var array_ttotal=new Array();*/

	var precio;
	var v_precio;
	var v_total;
	var total;
	var nume= TABLE.getElementsByTagName('tr');
	var elemento;
	var cadena;
	//nume_fila_value.name;

	  for (i=0; i<nume.length; i++){

	  	if (nume[i].id==obj.id){

		  	num=i;
			cadena=nume[i].id
			elemento=cadena.substring(2);
			//precio="precio["+elemento+"]";
			//total="total["+elemento+"]";

			//v_total=document.getElementById(total).value;

			//subtotal.value=redondeo2decimales(parseFloat(subtotal.value)-parseFloat(v_total));
			//totalt.value=redondeo2decimales(parseFloat(totalt.value)-parseFloat(array_ttotal[elemento]));
			//array_descuento

			array_total_farmacia[elemento]=0
			array_igv[elemento]=0;
			array_coaseguro[elemento]=0;
			array_dcto_generico_farmacia[elemento]=0;
			array_dcto_comercial_farmacia[elemento]=0;
			array_dcto_externo_farmacia[elemento]=0;
			array_vNogc_f[elemento]=0;
			array_vafecto_f[elemento]=0;
			array_vinafecto_f[elemento]=0;
			array_generico[elemento]=0;
			array_igv_gnc_f[elemento]=0;
			//para paciente
			array_coaseguro_afecto[elemento]=0;
			array_coaseguro_inafecto[elemento]=0;
			array_gnc_afecto[elemento]=0;
			array_gnc_inafecto[elemento]=0;
            array_gc_inafecto[elemento]=0;
            array_gc_afecto[elemento]=0;
			//valor_afecto.value=redondeo2decimales(parseFloat(igv.value)-parseFloat(array_igv[elemento]));
			//valor_inafecto.value=redondeo2decimales(parseFloat(igv.value)-parseFloat(array_igv[elemento]));
			hacer_calculo_farmacia();
			break;
		}

	  }
	TABLE.deleteRow(i);

}
function appendCell(Trow, txt) {
	var newCell = Trow.insertCell(Trow.cells.length)
	var pos=txt.indexOf("gc[]");
    if(pos>-1)
    {
        pos=txt.indexOf("value='0' selected");
        if(pos>-1){
            newCell.className="celdaRoja";
        }else{
            newCell.className="celdaSimple";
        }
     }else{
        newCell.className="celdaSimple";
     }
	newCell.innerHTML = txt
}


function copyRow(content,Trow,adatos){

	var cnt = 0;

  	var contenido;

  	var array_datos = new Array();

  	//var datos;

	//var caja_hidden = document.getElementsByName('busca_rapida').item(0);

	//var caja_texo = document.getElementsByName('txtSearch').item(0);

	//var nume_fila = document.getElementsByName('nume_fila').item(0);

	var filas=nume_fila.value;
if(filas==""){filas=0;}
	//var texto=caja_texo.value;

	var datos=caja_hidden.value;
	var id;
	//nombre y id de las filas
      Trow.name="tr"+filas;

      Trow.id="tr"+filas;


      // if(texto.length>2){
           //datos, contiene los datos a mostrar; la tabla construida tiene exactamente la misma cantidad
        while(datos.indexOf("@@")>-1){
           //los @@ se convertiran en un " para que los reconozca
           datos=datos.replace("@@","\"");
        }
      //     alert(datos);
       array_datos=datos.split("**")

		contenido="";
          //content numero de td
		for (; cnt <= content.length-1; cnt++) {
			if(cnt != 1) {
					while(array_datos[cnt].indexOf("##")>-1){
					// los ## sirve para asignarle la posicion del array de la tabla dinamica
						array_datos[cnt]=array_datos[cnt].replace("##",filas);

					}
	              	contenido= array_datos[cnt];

	              	appendCell(Trow,contenido);

			}else {
				id = array_datos[cnt];
			}

	      }


		//	alert("varlo-->"+filas);

	//contenido="<input type='hidden' name='datos[]' id='datos[]' value=" +escape(datos)+"/><input type='button' id='tr"+ filas +"' name='tr"+ filas +"' value='---' onclick=\"disminuyefila(this)\"/>";
	contenido="<input type='hidden' name='"+adatos+"[]' id='"+adatos+"[]' value='"+id+"'><img src=\"../../../img/Eliminar.gif\" title=\"Eliminar\" id='tr"+ filas +"' name='tr"+ filas +"' width=\"16\" height=\"16\" border=\"0\" class=\"icono\" onclick=\"disminuyefila(this, '"+TABLE.id+"')\">";
	//alert(Trow.value);
	filas++;

	nume_fila.value=filas;

	appendCell(Trow,contenido);

    //    }else{

           //alert("Debe Ingresar un valor");

      //  }

   // }else{

        //alert("Debe Ingresar un valor o dar 'click' al resultado de la búsqueda");
    // }
        caja_hidden.value="";

        caja_texo.value="";

        caja_texo.focus();

       // return;

}

